package com.noahplat.device.service;

import com.noahplat.common.utils.Result;
import com.noahplat.device.pojo.Device;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * @InterfaceName: DeviceService
 * @Description: 设备service
 * @Author 李景星
 * @Date 2021/3/9
 * @Version 1.0
 */
public interface DeviceService {
    /**
     * 获取设备详细信息
     * @param imei
     * @return
     */
    Result<Device> getDevice(String imei);

    /**
     * 条件查询设备信息
     * @param page
     * @param limit
     * @param dealer
     * @param imei
     * @return
     */
    public Result getDevices(Integer page,Integer limit,Long dealer,String imei);

    /**
     * 查找定位设备
     * @param page
     * @param limit
     * @param dealer
     * @param imei
     * @return
     */
    public Result getSiteDevices(Integer page,Integer limit,Long dealer,String imei);

    /**
     * 根据ID查询设备信息
     * @param id
     * @return
     */
    public Result getDeviceAllInfoById(Long id);

    /**
     * 查询设备数量
     * @param dealer
     * @return
     */
    public Result getDeviceCount(Long dealer);

    /**
     * 分页查询设备数量
     * @param page
     * @param limit
     * @return
     */
    public Result getDeviceByDealer(Integer page,Integer limit);

    /**
     * 批量添加设备信息
     * @param file
     * @param type
     * @return
     */
    public Result addExcel(MultipartFile file, String type) throws IOException;

    /**
     * 单条添加设备
     * @param device
     * @return
     */
    public Result addDevice(Device device);

    /**
     * 修改设备信息
     * @param device
     * @return
     */
    public Result updateDevice(Device device);

    /**
     * 条件查询设备信息
     * @param dealer
     * @param imei
     * @param prod
     * @param page
     * @param limit
     * @return
     */
    public Result getAdminDevice(Long dealer,String imei,String prod,Integer page,Integer limit);

    /**
     *redis维护工地项目人员
     * @param imei
     * @return
     */
    public Result addWorkerSite(String imei);
}
